/***获取排序结果
 * 黑：1-13
 * 红：14-26
 * 梅：27-39
 * 方：40-52
 * 癞子红桃：53-65
 */
var CardType = require('./CardType');
var _ = require('./Underscore');
var CardTool = module.exports = {

};

/**是否输出日志 */
CardTool.isLog = function() {
    return true;
};

/**是否输出日志 */
CardTool.Log = function(info, title) {
    // console.error('【%s】 : %s', title, JSON.stringify(info));
};

/**是否输出日志 */
CardTool.LogResult = function(result, title) {
    if (!!result) {
        if (null == this.isFrist) {
            console.error(' ')
            this.isFrist = true;
        }
        if (result.isFind) {
            if (!!title) {
                var findInfo = result.findGroup;
                if (!findInfo) {
                    findInfo = result.findGroupMore;
                    console.error('【%s】[%d组] : %s ', title, _.size(findInfo), JSON.stringify(findInfo));
                } else {
                    console.error('【%s】 : %s', title, JSON.stringify(findInfo));
                }
            }
        } else {
            if (!!title) {
                console.error('未找到:【%s】 ', title);
            }
        }
        console.error(' ')
    }
};

/***获取牌值
 * cardId : 牌id （1-52）
 */
CardTool.getCardValue = function(cardId) {
    var value = cardId % 13;
    // console.error(cardId);
    if (value == 0) {
        return 13;
    }
    return value;
};

/***获取牌的花色 
 * cardId : 牌id （1-65)
 */
CardTool.getCardType = function(cardId) {
    if (cardId <= 13) {
        return CardType.hei;
    } else if (cardId <= 26) {
        return CardType.hong;
    } else if (cardId <= 39) {
        return CardType.mei;
    } else if (cardId <= 52) {
        return CardType.fang;
    } else if (cardId <= 65) {
        return CardType.hong;
    }
    return CardType.none
};

CardTool.getCardTypeWorld = function(cardId) {
    var type = this.getCardType(cardId);
    if (CardType.hei == type) {
        return "黑桃";
    } else if (CardType.hong == type) {
        return "红桃";
    } else if (CardType.mei == type) {
        return "梅花";
    } else if (CardType.fang == type) {
        return "方块";
    }
    return "未知花色"
};


CardTool.workOneCard = function(_cardId) {
    var cardInfo = {
        cardId: _cardId,
        type: this.getCardType(_cardId),
        value: this.getCardValue(_cardId)
            // world: this.getCardTypeWorld(_cardId)
    }
    return cardInfo;
};

/**
 * 加工牌
 */
CardTool.workCards = function(_cardIds) {
    var size = _.size(_cardIds);
    var cardInfoList = [];
    for (var idx = 0; idx < size; ++idx) {
        var cardInfo = this.workOneCard(_cardIds[idx]);
        cardInfoList.push(cardInfo);
    }
    return cardInfoList;
};